The present invention relates in general to integrated circuits, and more particularly to integrated circuits for interleaving data contained in different sections of a multimedia data stream.
Digital Versatile Disks and other devices are frequently used to store video and audio, i.e., multimedia, data for displaying on a monitor or driving speakers. The multimedia sounds and images typically are intended to be produced at the same time, but the data used to generate them may be provided serially.
Therefore, it is often necessary to interleave data contained in different sections of the serial data stream to allow the different sections to be processed together. For example, in the multimedia formatting standard known as the Motion Picture Expert's Group 1 (MPEG-1) standard, the audio portion includes data for two audio channels, i.e., stereo, which are interleaved within each frame of the incoming data stream and can readily be processed together. An extension of MPEG-1 referred to as the MPEG-2 standard expands this concept to include additional channels of surround sound capability to provide up to eight channels of audio data. To ensure backward compatibility with the earlier MPEG-1 standard, MPEG-2 provides stereo data within one section of the data stream and surround sound data within a different section which is received later.
Prior art audio processing circuits use a large memory circuit with up to 26,000 memory cells to store the audio data stream from the stereo section up to and including the surround sound data. To avoid interrupting the output signal due to data not being available, the memory circuit is configured as a dual port memory which can be written to and read from simultaneously. However, such dual port memories consume a large die area on an integrated circuit and therefore increase the manufacturing cost of the processing circuit.
Hence, there is a need for an improved circuit and method of retaining data from one section of a multimedia signal so that the data can be processed together with data from another section that is received later in a serial data stream.